' Test oh Aurel Henon code b+ 2021-05-10

'from Lauwerier H., 1991. "Fractals Images of Chaos"  Penguin 209p.
'Orbits of Henon's Quadratic System
'Name: HENON


'Screen 12, 0, 0, 0: Cls: Randomize 1
'Color 15: Locate 1, 1: Print "Orbits of Henon's quadratic system"
Paper 0;0;0
Ink 255;255;255
cls
. Orbits of Henon's quadratic system

' For k = 1 To 20
k = 0
[
	k = a[k,1]
	jmp gt[k,100]
	
	'cc = k Mod 8: Color cc + 8 ' this worst part I use RGB
	cc = m[k,8]
	if eq[cc,0]
		ink 128;64;64;64
	ei eq[cc,1]
		ink 0;0;255;64
	ei eq[cc,2]
		ink 0;128;0;64
	ei eq[cc,3]
		ink 0;128;64
	ei eq[cc,4]
		ink 255;0;0;64
	ei eq[cc,5]
		ink 128;0;128;64
	ei eq[cc,6]
		ink 255;255;0;64
	ei eq[cc,7]
		ink 255;255;255;64
	fi
	
    'x = -.4 + Rnd: y = -.4 + Rnd
    'Window (-1.6, -1.2)-(1.6, 1.2)
	
	x = a[-.4,rnd[1]]
	y = a[-.4,rnd[1]]
	
    'a = .24: b = Sqr(1 - a ^ 2)
	a = .24
	b = sqr[s[1,p[a,2]]]
	
	'For n = 1 To 500
	n = 0
	[
		n = a[n,1]
		jmp gt[n,1500]
		'if x >= 0 then ' oh same formula dont need if Block
			'psetX = x * (512/1.6) + 512
		'else
			'psetX = 512 + (x) * (512/1.6)
		'end if
		
		psetX = a[512,x[x,d[512,1.6]]]
		psetY = a[336,x[y,d[336,1.2]]]
		
        'PSet (x, y)
		fcirc psetX;psetY;1
		
        'z = x: x = x * a - (y - x * x) * b
		z = x
		x = s[x[x,a],x[b,s[y,p[x,2]]]]
		
        'y = z * b + (y - z * z) * a
		y = a[x[z,b],x[a,s[y,p[z,2]]]]
		
        'If (Abs(x) + Abs(y)) > 10 Then GoTo 130
		jmp gt[a[abs[x],abs[y]],10]
		
    'Next n
	]
	
'130 Next k
]
'Beep: Color 2: a$ = Input$(1): System
beep
zzz